Several functions play an important role in the computerized detection of design errors in mechanical assemblies. These include: (1) an intuitive and interactive navigation through the model allowing the visual inspection of any portion of the assembly, (2) the display of user-specified cross-sections through the assembly, so as to reveal internal structures and mating conditions between assembly components, (3) automated facilities for detecting and rendering interferences between any two parts, and (4) facilities for simulating motions in mechanisms and in assembly or disassembly procedures.
As high-performance graphics workstations extend realtime shading and animation capabilities to larger data sets, and as virtual reality techniques make navigation through Computer Aided Design (CAD) models more intuitive, the visual inspection of assembly designs on CAD systems becomes an acceptable alternative to the conventional use of clay models, except for the limited support of cross-section and interference calculations. Although the availability of an informationally complete solid modeling representation of each assembly component permits the automatic calculation of cross-sections and the detection and calculation of interferences, current implementations of these functions rely on computationally expensive geometric operations, which, when applied to models of typical industrial complexity, increase the systems response beyond tolerable limits for interactive sessions. Thus, designers must either abandon interactivity or try to detect interferences manually using standard shaded or wireframe pictures, without being able to visualize the cross-sections necessary for understanding how components fit together in tight assemblies.
Ideally, to reduce the cost of correcting design errors assemblies of mechanical parts are modeled using CAD systems and then verified electronically before the designs are fabricated. However, the conventional shaded images that are displayed to a designer are generally insufficient for examining the internal structures of assemblies and for detecting interferences between mechanical parts. As a result, designers must often rely on computationally intensive numerical techniques that compute geometric representations of cross-sections and of intersections of solids.
In greater detail, solid models of the component mechanical parts are usually represented by their bounding faces, and interferences are detected and constructed by computing the geometric intersections of the faces of each object with all the faces of all other objects. However, software implementations of these computations are slow and often unreliable.
Efficient hardware/software architectures for rendering the visible subsets of the solids' faces are available, and provide effective support for scan converting faces to generate pixel information, thereby reducing the three-dimensional visibility problem into a series of one-dimensional problems to be solved independently at each pixel.
Scan-conversion is a well-known technique that generates surface points that project onto individual screen pixels along the viewing direction. The depth of the three dimensional points, computed along the viewing direction away from the viewer, may be stored in a z-buffer (depth) memory associated with the corresponding pixel.
Intersections between pairs of solids may be determined by various techniques. A geometric approach evaluates the boundary of the regularized Boolean intersection of the two solids. Although asymptotically efficient computational geometry techniques for finding the minimum distance between two polyhedra are available, these numeric approaches are generally too computationally expensive for interactive inspection and are better employed during the final stages of assembly verification.
Two hardware-assisted graphic techniques are relevant to interference detection: (1) a discretized (ray casting) approach reduces interference detection to a series of one-dimensional interval-intersection tests and is supported by special-purpose ray-casting hardware, and (2) the ability to automatically select and report which of the scan-converted objects interfere with an application-defined block. This latter technique provides a mechanism for eliminating unnecessary interference calculations. For example, solids may be efficiently identified that are clearly disjoint from any solid S because they are disjoint from a box containing S.
In that geometric techniques are generally too computationally expensive, and ray-casting hardware is not at present commercially available, and boxing techniques provide only a necessary condition for interference; an object of this invention is to provide a method for efficiently and rapidly detecting and displaying interferences between representations of solid objects.
A further object of this invention is to provide a method that exploits a reduction to one-dimensional calculations for all pixels for the purpose of detecting interference regions and for displaying the interference regions.
A still further object of this invention is to provide methods and apparatus for detecting and displaying interferences between representations of solid objects, the method and apparatus operating at speeds that support interactive use.